<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <button>按钮</button>
    <button class="add">绑定事件</button>
    <script>
        // 1、普通函数调用
        // function fn(){
        //     console.log(this)
        // }
        // window.fn()
        // 2、定时器
        // setInterval(function(){
        //     console.log(this);//window
        // },1000);
        // // 3、自定义对象
        // let obj = {
        //     name:'zhangsan',
        //     say:function(){
        //         console.log(this)
        //     }
        // }
        // obj.say();

        // 3、自定义对象
        // let obj = {
        //     name:'zhangsan',
        //     say:function(){
        //         // console.log(this) obj对象
        //         setInterval(function(){
        //             console.log(this);//window
        //         },1000)
        //     }
        // }
        // obj.say();

        // 4、事件中this
        // document.querySelector('button').addEventListener('click',function(){
        //     console.log(this);//事件源的dom对象
        // })

        // 5、箭头函数中this
        // document.querySelector('button').onclick = ()=>{
        //     console.log(this);//表示window对象
        // };

        document.querySelector('.add').onclick = function(){
            console.log(this)
            document.querySelector('button').onclick = ()=>{
                // 本身箭头函数没有this 可以将this就理解为一个普通的变量(当前作用域没有，到上层作用域下寻找)
                console.log(this);
            }
        }
    </script>
</body>
</html>